package 简单.模拟;

/**
 * 给你一个下标从 0 开始长度为 n 的字符串 num ，它只包含数字。
 * 如果对于 每个 0 <= i < n 的下标 i ，都满足数位 i 在 num 
 * 中出现了 num[i]次，那么请你返回 true ，否则返回 false 。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/check-if-number-has-equal-digit-count-and-digit-value
 */
public class 判断一个数的数字计数是否等于数位的值_2283 {

    public static void main(String[] args) {

        System.out.println(digitCount("1210"));

    }

    public static boolean digitCount(String num) {
        int[] record = new int[10];
        for (char c : num.toCharArray()) {
            record[c - '0']++;
        }

        for (int i = 0; i < num.length(); i++) {
            if (num.charAt(i) - '0' != record[i]) {
                return false;
            }
        }
        return true;
    }

}
